package jnpf.service;

import jnpf.model.entity.*;
import jnpf.entity.*;
import java.util.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import javax.validation.Valid;

/**
 * entity
 * 版本： V3.5
 * 版权： 引迈信息技术有限公司（https://www.jnpfsoft.com）
 * 作者： JNPF开发平台组
 * 日期： 2025-04-10
 */
public interface EntityService extends IService<EntityEntity> {
    List<EntityEntity> getList(EntityPagination entityPagination);

    List<EntityEntity> getTypeList(EntityPagination entityPagination,String dataType);

    EntityEntity getInfo(String id);

    void delete(EntityEntity entity);

    void create(EntityEntity entity);

    boolean update(String id, EntityEntity entity);

    //子表方法
    List<EntityCategoryEntity> getEntityCategoryList(String id,EntityPagination entityPagination);

    List<EntityCategoryEntity> getEntityCategoryList(String id);

    List<EntityAttributeEntity> getEntityAttributeList(String id,EntityPagination entityPagination);

    List<EntityAttributeEntity> getEntityAttributeList(String id);

    //副表数据方法
	String checkForm(EntityEntity entityForm,int i);

    String saveOrUpdate(EntityEntity entityForm,String id, boolean isSave) throws Exception;

    /**
     * 保存标签和关系信息
     * @param entity 保存实体
     * @param id  保存实体id
     * @param isPre 是否预制 1 是 2 否/用户创建
     * @param saveTagType 保存标签类型 1 实体标签 2 主题标签 3 模板标签 4 自定义标签
     */
    void saveTagAndRelation( EntityEntity entity, String id,String isPre,String saveTagType);
}
